<?php 
namespace app\tree\controller;
use app\tree\service\MutualService;
use think\Request;
use think\facade\Log;
/**
 * @title 交互
 * @description 交互
* @group 树
 */
class Mutual extends MutualService
{
	/**
     * @title 获得单颗树的能量列表
     * @description 获得单颗树的能量
  
     * @author 凌杰
     * @url /tree/mutual/get_energy
     * @param name:Token type:string require:1 default:'' other: desc:家庭token
    
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     * @return data:能量列表@
     * @data flag:标志位 num:分数
     */
    public function get_energy(Request $request)
    {
        if(!$request->isPost()) return False;
        $info=$request->param();
        $res= $this->get_energys($info);
        return json($res);
    }
    /**
     * @title 通过token 获得家庭的能量信息
     * @description 获得家庭的能量信息
  
     * @author 凌杰
     * @url /tree/mutual/get_token_energy
     * @param name:Token type:string require:1 default:'' other: desc:家庭token
    
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     * @return data:能量列表@
     * @data energyId:主键值 currentEnergy:剩余能量 totalEnergy:总能量 token:家庭token
     */
    public function get_token_energy(Request $request)
    {
        if(!$request->isPost()) return False;
        $info=$request->param();
        $res= $this->get_token_energys($info);
        return json($res);
    }

    /**
     * @title 摘取/偷取树能量
     * @description 偷取树能量
     * @author 凌杰
     * @url /tree/mutual/pick_energy
     * @param name:treeuserid type:int require:1 default:'' other: desc:树的id、获得家庭树时有返回
     * @param name:flag type:int require:1 default:'' other: desc:树能量的标志位、获得能量时有返回
     * @param name:Openid type:string require:1 default:'' other: desc:好友或者亲人或者自己的openid
     * @param name:Token type:string require:1 default:'' other: desc:承受家庭Token字段,摘取或者偷取的能量归属于哪个家庭
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     */
    public function pick_energy(Request $request){
    	if(!$request->isPost()) return False;
        $info=$request->param();
        $info['Userid']=$this->user['Userid'];
        $res = $this->pick_energys($info);
        return json($res);
    }

        /**
     * @title 获取树排名
     * @description 获取树排名
     * @author 凌杰
     * @url /tree/mutual/tree_rank
     * @param name:page type:int require:1 default:1 other: desc:页数
     * @param name:limit type:int require:1 default:50 other: desc:limit
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     * @return list:列表@
     * @list energy:能量 nickname:用户昵称 image:用户头像
     */
    public function tree_rank(Request $request){
        if(!$request->isPost()) return False;
        $info=$request->param();
        $res = $this->get_ranks($info);
        return json($res);
    }

            /**
     * @title 获取漂浮消息/获取消息(通知)详情
     * @description 获取漂浮消息
     * @param name:page type:int require:1 default:'' other: desc:页数
     * @param name:limit type:int require:1 default:'' other: desc:limit
     * @param name:token type:string require:1 default:1 other: desc:token
     * @param name:type type:int require:1 default:1 other: desc:获得消息 1：是详情 2：漂浮消息
     * @author 凌杰
     * @url /tree/mutual/messageFloat
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     * @return data:列表@
     * @data userimg:收取人头像 username:收取人昵称 time:收取时间 num:收取数量
     */
    public function messageFloat(Request $request){
        if(!$request->isPost()) return False;
        $info=$request->param();
        $res = $this->messageFloats($info);
        return json($res);
    }


        /**
     * @title 浇水
     * @description 浇水
     * @param name:Token type:string require:1 default:'' other: desc:主动浇水的家庭Token就是登陆用户默认家庭Token
     * @param name:passToken type:string require:1 default:'' other: desc:被动浇水的家庭Token就是当前树的默认家庭Token
     * @author 凌杰
     * @url /tree/mutual/watering
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     */
    public function watering(Request $request){
        if(!$request->isPost()) return False;
        $info=$request->param();
        $res = $this->waterings($info);
        return json($res);
    }

    /**
     * @title 兑换
     * @description 兑换
     * @param name:treeuserid type:int require:1 default:1 other: desc:treeuserid
     * @author 凌杰
     * @url /tree/mutual/exchange
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     */
    public function exchange(Request $request){
        if(!$request->isPost()) return False;
        $info=$request->param();
        $res = $this->exchanges($info);
        return json($res);
    }
         /**
     * @title 获得树的阶段信息
     * @description 获得树的阶段信息
     * @param name:treesid type:int require:1 default:1 other: desc:树的id
     * @author 凌杰
     * @url /tree/mutual/getPhase
     * @method POST
     * @return code:错误码
     * @return msg:错误消息
     */
    public function getPhase(Request $request){
        if(!$request->isPost()) return False;
        $info=$request->param();
        $res = $this->getPhases($info);
        return json($res);
    }
}